Published February 26, 2026 | Version v1.1.0
Software Open

FTorch: a library for coupling PyTorch models to Fortran

  • 1. Institute of Computing for Climate Science
  • 2. ROR icon University of Cambridge
  • 3. ROR icon Science and Technology Facilities Council
  • 4. ROR icon Leibniz Institute of Atmospheric Physics at the Rostock University
  • 5. ROR icon University of Bologna
  • 6. ROR icon University of Kent

Description

Version 1.1.0 - Flashy

All Changes: https://github.com/Cambridge-ICCS/FTorch/compare/v1.0.0...v1.1.0 and in CHANGELOG

What's Changed

  • Post JOSS publication updates by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/309
  • Fortitude v0.7 by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/310
  • Add Park and Chung paper and add other details by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/314
  • Hook up requires_grad by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/288
  • MPI example by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/270
  • Temporarily disable Windows CI by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/315
  • Reorder examples by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/317
  • Rework scalar multiplication and division by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/289
  • Fix some broken links in the docs by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/322
  • Typo correction of is_training variable description in the ftorch API. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/324
  • Versioning and Changelog by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/313
  • Add tests for constructing after destructing by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/319
  • Mention test changes in changelog by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/326
  • Tensor manipulation demo by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/291
  • Ignore *.DS_Store and fix pre-commit hook path in the docs by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/330
  • Add fypp to requirements by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/331
  • Add news section to website by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/333
  • Fix static analysis workflow (failing after #331) by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/335
  • Implement torch_tensor_backward by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/286
  • Spring cleaning by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/339
  • Implement zeroing of gradients by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/341
  • Implement torch_tensor_zero by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/338
  • Use fork of pFUnit with CMake version bumped to resolve failing install in workflows by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/351
  • Variable definitions in docstrings for tensor API by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/353
  • torch_tensor_from_array interface with default layout by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/348
  • Update to use version 4.12 of pFUnit following contributed fix. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/355
  • Raise an error if user attempts to assign to tensor with requires_grad=.true. by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/359
  • News archive by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/354
  • Add error handling by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/347
  • Overload the sum and mean over tensors by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/344
  • Do not carry over requires_grad with overloaded ops by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/364
  • Tidying of wrapped functions in ftorch.F90 by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/363
  • Add upcoming events to webpage by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/366
  • Adding ability to move torch_tensors between devices and dtypes by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/360
  • Add user guide page on offline training by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/358
  • Add FTorch presentation in News section by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/372
  • requires_grad should be carried through expressions by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/373
  • Docs on overloaded assignment operator by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/374
  • Convert Reading seminars to presentation by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/376
  • Fix bug in implementation of wrapper function torch_from_blob (#365) by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/377
  • Add Codespace for running FTorch Online by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/346
  • Autograd example updates by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/378
  • Update README to add clarity around GPU setup. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/382
  • Trivial example text tweaks by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/383
  • feat: add HIP support to cmake using CUDA backend by @TomMelt in https://github.com/Cambridge-ICCS/FTorch/pull/385
  • Update docs with information about HIP. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/388
  • Mention FTorch workshop repo and separate out events by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/380
  • Fig bug that made Fortran source missing from the API docs by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/395
  • Fix unused-variable warning by @Mikolaj-A-Kowalski in https://github.com/Cambridge-ICCS/FTorch/pull/398
  • Remove warning about pre-v1.0 from README by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/399
  • Move AOPP tutorial to presentation archive by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/401
  • Add slides for the 2025 Oxford AOPP Seminar. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/402
  • Update FPTLIB-TODO to bare TODO by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/403
  • Make info on citing FTorch more prominent by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/404
  • Make FORD fail on warnings by @Mikolaj-A-Kowalski in https://github.com/Cambridge-ICCS/FTorch/pull/405
  • Run test suite with ctest by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/357
  • Mention graphviz dependency of FORD in the docs by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/408
  • Fix cmake bug in building CUDA unit tests by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/411
  • Add CI for test suite on GPU runner | Add MULTI_GPU cmake option by @niccolozanotti in https://github.com/Cambridge-ICCS/FTorch/pull/410
  • Add reference in README.md for recent JAMES paper on cloud resolving models emulation by @dorchard in https://github.com/Cambridge-ICCS/FTorch/pull/421
  • fix a minor bug by @zhenkunl in https://github.com/Cambridge-ICCS/FTorch/pull/422
  • Update presentations by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/426
  • Update to use inference_mode in preference to no_grad by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/425
  • Expose access to tensor stride by @Mikolaj-A-Kowalski in https://github.com/Cambridge-ICCS/FTorch/pull/416
  • Prevent fatal error from being thrown during cmake examples by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/431
  • find_package(FTorch) should be find_package(FTorch REQUIRED) (fixes #432) by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/434
  • Add a note to developer pages to explicitly state use of cmake-lint but not the formatter. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/440
  • Use Zizmor action by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/441
  • Adopt Green CI good practices by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/442
  • Fix website deployment CI job by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/443
  • CI for Intel (ifx) and Intel Classic (ifort) each with OpenMPI (fixes #140) by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/438
  • link issue in example (fixes #435) by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/437
  • Bump CUDA version used in GPU testing CI job by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/445
  • Add a CODEOWNERS file for GitHub. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/447
  • Support building tests with conda env present by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/450
  • added explicit instructions for using PFUNIT with FTorch (fixes #283) by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/452
  • Extend test suite timeout and allow running of intel on PRs if required. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/455
  • Intel CI now uses Intel oneAPI MPI instead of OpenMPI built with Intel compilers (fixes #140) by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/449
  • Support building FTorch as static library by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/448
  • fix README example numbers to match folder numbers (#457) by @zka26 in https://github.com/Cambridge-ICCS/FTorch/pull/458
  • Pin Python version in test suite. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/461
  • Update example 5 to fix mismatching TorchScript and executable names. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/462
  • Example 5: fix parallel .mod race by separate Fortran module dirs per target by @zka26 in https://github.com/Cambridge-ICCS/FTorch/pull/460
  • corrected RELEASE build type to Debug build type in hpc docs by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/463
  • fixed page/hpc.html to render CMAKE_<LANG>FLAGS instead of CMAKE<LANG>_FLAGS by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/465
  • pkg-config support by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/464
  • Update GitHub username in CODEOWNERS by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/466
  • Fix deadlink to gpu user guide by @jfdev001 in https://github.com/Cambridge-ICCS/FTorch/pull/468
  • Pedantic Zizmor fixes by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/473
  • Documentation clearout and refactor by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/459
  • Separate out CI testing workflows by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/475
  • docs: generalize device argument docs from CUDA to GPU by @zka26 in https://github.com/Cambridge-ICCS/FTorch/pull/480
  • Fix link to dev docs by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/479
  • Update autograd worked example summary by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/485
  • Add a standalone SimpleNet example build to the CI by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/304
  • Bump minimum CMake version to 3.18 by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/491
  • Fix link to use cases page in README by @dorchard in https://github.com/Cambridge-ICCS/FTorch/pull/502
  • Subroutine for printing model layer weights by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/488
  • Exercise typos by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/505
  • Mention mailing list in README by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/510
  • Add Batching examples and associated documentation by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/500
  • Reactivate Windows CI by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/490
  • Update Windows installation instructions by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/495
  • Update install location of FTorch in GitHub workflow by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/515
  • Docs on unit testing by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/489
  • Bugfix .to() only works for single tensors, not iterables of tensors in example 5. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/519
  • Add macOS testing workflow using gfortran by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/497
  • Expunge example numbers from CMake Testing by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/521
  • Update installation guidance for MacOS. by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/523
  • Create subdirectories to better organise unit testing by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/511
  • Better modularisation by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/508
  • Use specific modules in unit tests by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/526
  • Provide information about tensor finalizer by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/522
  • Reduce duplication in unit test names by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/532
  • Unit tests for creating and destroying tensors on GPU by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/546
  • Use pointers in array tensor constructor functions by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/530
  • Apply fypp by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/549
  • Recommend defining as much as possible in model by @joewallwork in https://github.com/Cambridge-ICCS/FTorch/pull/535
  • Provide a release checklist by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/552
  • Make tensor deletion elemental by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/545
  • Batching IO unit tests by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/559
  • Prepare Release v1.1.0 by @jatkinson1000 in https://github.com/Cambridge-ICCS/FTorch/pull/560

New Contributors

  • @danielskatz made their first contribution in https://github.com/Cambridge-ICCS/FTorch/pull/308
  • @Mikolaj-A-Kowalski made their first contribution in https://github.com/Cambridge-ICCS/FTorch/pull/398
  • @zhenkunl made their first contribution in https://github.com/Cambridge-ICCS/FTorch/pull/422
  • @jfdev001 made their first contribution in https://github.com/Cambridge-ICCS/FTorch/pull/431
  • @zka26 made their first contribution in https://github.com/Cambridge-ICCS/FTorch/pull/458

Full Changelog: https://github.com/Cambridge-ICCS/FTorch/compare/v1.0.0...v1.1.0

Notes

If you use this software, please cite our article in the Journal of Open Source Software.

Files

Cambridge-ICCS/FTorch-v1.1.0.zip

Files (1.6 MB)

Name Size Download all
md5:8598d42c63794a18ec7b9d96795cdec7
1.6 MB Preview Download

Additional details

Related works